#include <cstdio>
#include <vector>
#include <algorithm>


const int N = 2e5 + 9;
//f用于排序后的数组，a保存原始数组
int f[N], a[N];
std::vector<int> res;


/**
 * 完美数组
 * 时间复杂度：O(n log n)，主要由排序操作决定。

	空间复杂度：O(n)，用于存储原数组和排序后的数组。
 * @return
 */
int main() {
	int n;
	long long sum = 0;
	scanf("%d", &n);

	for (int i = 0; i < n; i++) {
		scanf("%d", &f[i]);
		a[i] = f[i];
		sum += f[i];
	}

	std::sort(f, f + n);

	for (int i = 0; i < n; i++) {
		if (a[i] == f[n - 1]) {
			long long sumRest = sum - a[i];
			if (sumRest == 2 * f[n - 2]) {
				res.push_back(i + 1);
			}
		}
		else {
			long long sumRest = sum - a[i];
			if (sumRest == 2 * f[n-1]) {
				res.push_back(i + 1);
			}
		}
	}

	printf("%d\n", res.size());

	for (int i=0; i < res.size(); i++) {
		printf("%d ", res[i]);
	}


	return 0;
}